package com.thomsonreuters.ce.edps.model.impl;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Set;
import org.apache.commons.lang.builder.ToStringBuilder;

import com.thomsonreuters.ce.edps.model.IAgsFacility;
import com.thomsonreuters.ce.edps.model.IPhysicalAsset;
import com.thomsonreuters.ce.edps.model.IPhysicalAssetType;
import com.thomsonreuters.ce.edps.model.IUnderlyingProduct;


/** @author Hibernate CodeGenerator */
public class PhysicalAsset implements Serializable, IPhysicalAsset {

    /** identifier field */
    private BigDecimal permId;

    /** persistent field */
    private String assetRic;

    /** persistent field */
    private Date entityCreatedDate;

    /** persistent field */
    private Date entityModifiedDate;

    /** persistent field */
    private String createBy;

    /** persistent field */
    private Date createDate;

    /** persistent field */
    private String modifyBy;

    /** persistent field */
    private Date modifyDate;

    /** nullable persistent field */
    private BigDecimal gunLocationId;

    /** nullable persistent field */
    private Double latitude;

    /** nullable persistent field */
    private Double longitude;

    /** nullable persistent field */
    private Long plaId;

    /** nullable persistent field */
    private String description;

    /** nullable persistent field */
    private BigDecimal pgeId;

    /** persistent field */
    private IPhysicalAssetType physicalAssetType;

    /** persistent field */
    private IUnderlyingProduct underlyingProduct;

    /** persistent field */
    private IAgsFacility agsFacility;

    /** persistent field */
    private Set assetStatuses;

    /** persistent field */
    private Set pasUprRships;

    /** persistent field */
    private Set assetOrganisationAssocs;

    /** persistent field */
    private Set physicalAssetNames;

    /** persistent field */
    private Set physicalAssetDataFields;

    /** full constructor */
    public PhysicalAsset(String assetRic, Date entityCreatedDate, Date entityModifiedDate, String createBy, Date createDate, String modifyBy, Date modifyDate, BigDecimal gunLocationId, Double latitude, Double longitude, Long plaId, String description, BigDecimal pgeId, IPhysicalAssetType physicalAssetType, IUnderlyingProduct underlyingProduct, IAgsFacility agsFacility, Set assetStatuses, Set pasUprRships, Set assetOrganisationAssocs, Set physicalAssetNames, Set physicalAssetDataFields) {
        this.assetRic = assetRic;
        this.entityCreatedDate = entityCreatedDate;
        this.entityModifiedDate = entityModifiedDate;
        this.createBy = createBy;
        this.createDate = createDate;
        this.modifyBy = modifyBy;
        this.modifyDate = modifyDate;
        this.gunLocationId = gunLocationId;
        this.latitude = latitude;
        this.longitude = longitude;
        this.plaId = plaId;
        this.description = description;
        this.pgeId = pgeId;
        this.physicalAssetType = physicalAssetType;
        this.underlyingProduct = underlyingProduct;
        this.agsFacility = agsFacility;
        this.assetStatuses = assetStatuses;
        this.pasUprRships = pasUprRships;
        this.assetOrganisationAssocs = assetOrganisationAssocs;
        this.physicalAssetNames = physicalAssetNames;
        this.physicalAssetDataFields = physicalAssetDataFields;
    }

    /** default constructor */
    public PhysicalAsset() {
    }

    /** minimal constructor */
    public PhysicalAsset(String assetRic, Date entityCreatedDate, Date entityModifiedDate, String createBy, Date createDate, String modifyBy, Date modifyDate, IPhysicalAssetType physicalAssetType, IUnderlyingProduct underlyingProduct, IAgsFacility agsFacility, Set assetStatuses, Set pasUprRships, Set assetOrganisationAssocs, Set physicalAssetNames, Set physicalAssetDataFields) {
        this.assetRic = assetRic;
        this.entityCreatedDate = entityCreatedDate;
        this.entityModifiedDate = entityModifiedDate;
        this.createBy = createBy;
        this.createDate = createDate;
        this.modifyBy = modifyBy;
        this.modifyDate = modifyDate;
        this.physicalAssetType = physicalAssetType;
        this.underlyingProduct = underlyingProduct;
        this.agsFacility = agsFacility;
        this.assetStatuses = assetStatuses;
        this.pasUprRships = pasUprRships;
        this.assetOrganisationAssocs = assetOrganisationAssocs;
        this.physicalAssetNames = physicalAssetNames;
        this.physicalAssetDataFields = physicalAssetDataFields;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getPermId()
	 */
    @Override
	public BigDecimal getPermId() {
        return this.permId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setPermId(java.math.BigDecimal)
	 */
    @Override
	public void setPermId(BigDecimal permId) {
        this.permId = permId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getAssetRic()
	 */
    @Override
	public String getAssetRic() {
        return this.assetRic;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setAssetRic(java.lang.String)
	 */
    @Override
	public void setAssetRic(String assetRic) {
        this.assetRic = assetRic;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getEntityCreatedDate()
	 */
    @Override
	public Date getEntityCreatedDate() {
        return this.entityCreatedDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setEntityCreatedDate(java.util.Date)
	 */
    @Override
	public void setEntityCreatedDate(Date entityCreatedDate) {
        this.entityCreatedDate = entityCreatedDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getEntityModifiedDate()
	 */
    @Override
	public Date getEntityModifiedDate() {
        return this.entityModifiedDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setEntityModifiedDate(java.util.Date)
	 */
    @Override
	public void setEntityModifiedDate(Date entityModifiedDate) {
        this.entityModifiedDate = entityModifiedDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getCreateBy()
	 */
    @Override
	public String getCreateBy() {
        return this.createBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setCreateBy(java.lang.String)
	 */
    @Override
	public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getCreateDate()
	 */
    @Override
	public Date getCreateDate() {
        return this.createDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setCreateDate(java.util.Date)
	 */
    @Override
	public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getModifyBy()
	 */
    @Override
	public String getModifyBy() {
        return this.modifyBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setModifyBy(java.lang.String)
	 */
    @Override
	public void setModifyBy(String modifyBy) {
        this.modifyBy = modifyBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getModifyDate()
	 */
    @Override
	public Date getModifyDate() {
        return this.modifyDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setModifyDate(java.util.Date)
	 */
    @Override
	public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getGunLocationId()
	 */
    @Override
	public BigDecimal getGunLocationId() {
        return this.gunLocationId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setGunLocationId(java.math.BigDecimal)
	 */
    @Override
	public void setGunLocationId(BigDecimal gunLocationId) {
        this.gunLocationId = gunLocationId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getLatitude()
	 */
    @Override
	public Double getLatitude() {
        return this.latitude;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setLatitude(java.lang.Double)
	 */
    @Override
	public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getLongitude()
	 */
    @Override
	public Double getLongitude() {
        return this.longitude;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setLongitude(java.lang.Double)
	 */
    @Override
	public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getPlaId()
	 */
    @Override
	public Long getPlaId() {
        return this.plaId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setPlaId(java.lang.Long)
	 */
    @Override
	public void setPlaId(Long plaId) {
        this.plaId = plaId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getDescription()
	 */
    @Override
	public String getDescription() {
        return this.description;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setDescription(java.lang.String)
	 */
    @Override
	public void setDescription(String description) {
        this.description = description;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getPgeId()
	 */
    @Override
	public BigDecimal getPgeId() {
        return this.pgeId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setPgeId(java.math.BigDecimal)
	 */
    @Override
	public void setPgeId(BigDecimal pgeId) {
        this.pgeId = pgeId;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getPhysicalAssetType()
	 */
    @Override
	public IPhysicalAssetType getPhysicalAssetType() {
        return this.physicalAssetType;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setPhysicalAssetType(com.thomsonreuters.ce.edps.model.impl.PhysicalAssetType)
	 */
    @Override
	public void setPhysicalAssetType(IPhysicalAssetType physicalAssetType) {
        this.physicalAssetType = physicalAssetType;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getUnderlyingProduct()
	 */
    @Override
	public IUnderlyingProduct getUnderlyingProduct() {
        return this.underlyingProduct;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setUnderlyingProduct(com.thomsonreuters.ce.edps.model.impl.UnderlyingProduct)
	 */
    @Override
	public void setUnderlyingProduct(IUnderlyingProduct underlyingProduct) {
        this.underlyingProduct = underlyingProduct;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getAgsFacility()
	 */
    @Override
	public IAgsFacility getAgsFacility() {
        return this.agsFacility;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setAgsFacility(com.thomsonreuters.ce.edps.model.impl.IAgsFacility)
	 */
    @Override
	public void setAgsFacility(IAgsFacility agsFacility) {
        this.agsFacility = agsFacility;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getAssetStatuses()
	 */
    @Override
	public Set getAssetStatuses() {
        return this.assetStatuses;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setAssetStatuses(java.util.Set)
	 */
    @Override
	public void setAssetStatuses(Set assetStatuses) {
        this.assetStatuses = assetStatuses;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getPasUprRships()
	 */
    @Override
	public Set getPasUprRships() {
        return this.pasUprRships;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setPasUprRships(java.util.Set)
	 */
    @Override
	public void setPasUprRships(Set pasUprRships) {
        this.pasUprRships = pasUprRships;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getAssetOrganisationAssocs()
	 */
    @Override
	public Set getAssetOrganisationAssocs() {
        return this.assetOrganisationAssocs;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setAssetOrganisationAssocs(java.util.Set)
	 */
    @Override
	public void setAssetOrganisationAssocs(Set assetOrganisationAssocs) {
        this.assetOrganisationAssocs = assetOrganisationAssocs;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getPhysicalAssetNames()
	 */
    @Override
	public Set getPhysicalAssetNames() {
        return this.physicalAssetNames;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setPhysicalAssetNames(java.util.Set)
	 */
    @Override
	public void setPhysicalAssetNames(Set physicalAssetNames) {
        this.physicalAssetNames = physicalAssetNames;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#getPhysicalAssetDataFields()
	 */
    @Override
	public Set getPhysicalAssetDataFields() {
        return this.physicalAssetDataFields;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#setPhysicalAssetDataFields(java.util.Set)
	 */
    @Override
	public void setPhysicalAssetDataFields(Set physicalAssetDataFields) {
        this.physicalAssetDataFields = physicalAssetDataFields;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAsset#toString()
	 */
    @Override
	public String toString() {
        return new ToStringBuilder(this)
            .append("permId", getPermId())
            .toString();
    }

}
